//
//  BattleTeamViewController.m
//  PacIsBack
//
//  Created by Simon André on 02/02/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "BattleTeamViewController.h"
#import "BattleTeamProtocol.h"
#import "CharacterViewController.h"
#import "CharacterProtocol.h"
#import "Constants.h"


@implementation BattleTeamViewController

@synthesize team,characterControllers;

-(id) initBattleTeamControllerForModel:(id<BattleTeamProtocol>) model withFrame:(CGRect) frame{
	if (self = [super init]) {
		[self setTeam:model];
		UIView* emptyView = [[UIView alloc] initWithFrame:frame];
		[self setView:emptyView];
		[emptyView release];
		NSArray* characters = [[self team] characters];
		NSMutableArray* charControllers = [[NSMutableArray alloc] init];
		NSInteger charNumber = 0;
		for (id<CharacterProtocol> character in characters) {
			charNumber++;
			CharacterViewController* charController = [character battleController];
			[charControllers addObject:charController];
			[[self view] addSubview:[charController view]];
			//CGSize viewSize = [[charController view] frame].size;
			CGRect viewFrame = [[charController view] frame];
			if (charNumber == 1) {
				viewFrame.origin.x = firstCharacterPositionX;
				viewFrame.origin.y = firstCharacterPositionY;
			}
			if (charNumber == 2) {
				viewFrame.origin.x = secondCharacterPositionX;
				viewFrame.origin.y = secondCharacterPositionY;
			}
			[[charController view] setFrame:viewFrame];
		}
		[self setCharacterControllers:charControllers];
		[charControllers release];
	}
	return self;
}

/*
 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}

- (void)dealloc {
	[self setTeam:nil];
	[self setCharacterControllers:nil];
	[super dealloc];
}


@end
